package com.situ.fly.dao;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import com.situ.fly.entity.User;

/**
 * 访问User表的操作
 * 1. 添加注解@Mapper
 * 2. 在接口中定义访问数据库的方法
 * 3. 通过注解配置每个方法的操作
 * @author bobzyh
 *
 */
@Mapper
public interface UserDao {
	/**
	 * 根据用户名查询
	 * 在MyBatis中, 不需要编写接口的实现类, 接口对象是通过动态代理的方式创建的
	 * 我们只需要为每一个方法配置好需要执行的SQL语句
	 * @Insert, Delete, Update, Select
	 */
	@Select("select * from user where username=#{username}")
	User selectByUsername(String username);
	/**
	 * 根据昵称查询
	 */
	@Select("select * from user where nickname=#{nickname}")
	User selectByNickname(String nickname);
	/**
	 * 插入用户信息
	 */
	@Insert("insert into user (username, password, nickname) "
			+ "values( #{username}, #{password}, #{nickname})")
	int insert(User user);
}
